package com.amos.muexamclient.sys.service;

import com.amos.muexamclient.sys.service.dto.SysMenuDTO;
import com.amos.muexamclient.sys.service.dto.SysUserDTO;
import com.amos.muexamclient.sys.service.dto.TreeSelect;
import com.amos.muexamcore.core.BasePageService;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Copyright © 2018 五月工作室. All rights reserved.
 *
 * @Package com.amos.muexamclient.sys.service
 * @ClassName SysMenuService
 * @Description TODO
 * @Author Amos
 * @Modifier
 * @Date 2020-03-24 14:35:22
 * @Version 1.0
 **/
public interface SysMenuService extends BasePageService<SysMenuDTO> {
    /**
     * 根据用户id查询菜单权限
     *
     * @param id
     * @return
     */
    Set<String> selectMenuPermsByUserId(String id);

    List<SysMenuDTO> selectMenuTreeByUserId(SysUserDTO user);

    List<SysMenuDTO> listMenu(SysMenuDTO dto);

    List<TreeSelect> buildMenuTreeSelect(List<SysMenuDTO> menus);

    List<SysMenuDTO> buildMenuTree(List<SysMenuDTO> menus);

    List<TreeSelect> treeSelect();

    Map<String, Object> roleMenuTreeselect(String roleId);
}
